package com.newgrand.domain.model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * @创建人：ZhaoFengjie
 * @修改人：ZhaoFengjie
 * @创建时间：2:23 2022/10/18
 * @修改时间:：2:23 2022/10/18
 */
@Data
@ApiModel(value = "MonthlyValuationsItems", description = "月度验工计价清单数据data模型")
public class MonthlyValuationsItems {

    @ApiModelProperty(value = "数据对象")
    private MonthlyValuationsItemsData data;

    @Data
    @ApiModel(value = "MonthlyValuationsItemsData", description = "月度验工计价清单数据items模型")
    public class MonthlyValuationsItemsData {

        @ApiModelProperty(value = "月度验工计价清单数据数组")
        private List<MonthlyValuationsDetail> items;

        @Data
        @ApiModel(value = "MonthlyValuationsData", description = "月度验工计价清单数据MonthlyValuationsData模型")
        public class MonthlyValuationsDetail {

            @ApiModelProperty(value = "计价id")
            private Long id;
            @ApiModelProperty(value = "单位")
            private String unit;
            @ApiModelProperty(value = "含税合同单价")
            private BigDecimal price;
            @ApiModelProperty(value = "本期含税金额")
            private BigDecimal amount;
            @ApiModelProperty(value = "合同id")
            private Long subcontractId;
            @ApiModelProperty(value = "计价id")
            private Long valuationId;
            @ApiModelProperty(value = "单位工程id")
            private Long projectUnitWorkId;
            @ApiModelProperty(value = "单位工程名称")
            private String projectUnitWorkName;
            @ApiModelProperty(value = "分部分项id")
            private Long entryWorkId;
            @ApiModelProperty(value = "分部分项名称")
            private String entryWorkName;
            @ApiModelProperty(value = "分部分项全路径名称")
            private String entryWorkFullName;
            @ApiModelProperty(value = "工序id")
            private Long procedureRefId;
            @ApiModelProperty(value = "工序编码")
            private String fullCode;
            @ApiModelProperty(value = "验收项名称")
            private String procedureName;
            @ApiModelProperty(value = "不含税合同单价")
            private BigDecimal priceWithoutTax;
            @ApiModelProperty(value = "本期验工量")
            private BigDecimal measureQuantity;
            @ApiModelProperty(value = "本期不含税金额")
            private BigDecimal amountWithoutTax;
            @ApiModelProperty(value = "本期计价量")
            private BigDecimal valuationQuantity;
            @ApiModelProperty(value = "适用税率")
            private BigDecimal taxRate;
            @ApiModelProperty(value = "本期税额")
            private BigDecimal taxAmount;
            @ApiModelProperty(value = "是否为调价工序")
            private Boolean isAdjust;
            @ApiModelProperty(value = "开累计价量")
            private BigDecimal cumulativeValuationQuantity;
            @ApiModelProperty(value = "开累不含税金额")
            private BigDecimal cumulativeAmountWithoutTax;
            @ApiModelProperty(value = "累计结算税额")
            private BigDecimal cumulativeTaxAmount;
            @ApiModelProperty(value = "开累含税金额")
            private BigDecimal cumulativeAmount;

        }
    }
}
